package com.xmy.solution.mapper;

import java.util.List;

import com.xmy.solution.domain.Solutions;
import com.xmy.solution.domain.dto.solution.SolutionAppReqDTO;
import com.xmy.solution.domain.dto.solution.SolutionAppResDTO;
import com.xmy.solution.domain.dto.solution.SolutionReqDTO;
import com.xmy.solution.domain.dto.solution.SolutionsPageDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 方案管理Mapper接口
 *
 * @author 夏明毅
 * @date 2024-12-29
 */
@Mapper
public interface solutionsMapper {
    /**
     * 查询方案管理
     *
     * @param id 方案管理主键
     * @return 方案管理
     */
    public SolutionReqDTO selectSolutionsById(Long id);

    /**
     * 查询方案管理列表
     *
     * @param solutions 方案管理
     * @return 方案管理集合
     */
    public List<Solutions> selectSolutionsList(Solutions solutions);

    public List<SolutionReqDTO> selectSolutionsVOList(@Param("pageParam") SolutionsPageDTO pageParam);

    /**
     * 新增方案管理
     *
     * @param solutions 方案管理
     * @return 结果
     */
    public int insertSolutions(Solutions solutions);

    /**
     * 修改方案管理
     *
     * @param solutions 方案管理
     * @return 结果
     */
    public int updateSolutions(Solutions solutions);

    /**
     * 删除方案管理
     *
     * @param id 方案管理主键
     * @return 结果
     */
    public int deleteSolutionsById(Long id);

    /**
     * 批量删除方案管理
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSolutionsByIds(Long[] ids);

    /**
     * 查询小程序方案信息
     */

    List<SolutionAppResDTO> selectSolutionsAppReqDTO(SolutionAppReqDTO solutions);

    SolutionAppResDTO selectSolutionsAppReqDTOById(@Param("id") Long id, @Param("userId") Long userId);
}
